From: Olaf Hering Date: Wed, 1 Oct 2014 16:41:20 +0000 (+0200) Subject: Add configure --enable-rpath X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~4236 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks://%22/%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22?a=commitdiff_plain;h=4e41f61135fa63204e1ab1ace37a55713e94fca7;p=xen.git Add configure --enable-rpath This fixes the tools when xen is configured with --prefix=/odd/path Signed-off-by: Olaf Hering Acked-by: Ian Campbell Cc: Ian Campbell Cc: Ian Jackson Cc: Stefano Stabellini Cc: Wei Liu [ ijc -- ran autogen.sh as requested ] --- diff --git a/Config.mk b/Config.mk index e551339c37..339fb3c0f2 100644 --- a/Config.mk +++ b/Config.mk @@ -208,6 +208,9 @@ LDFLAGS += $(foreach i, $(EXTRA_LIB), -L$(i)) CFLAGS += $(foreach i, $(EXTRA_INCLUDES), -I$(i)) LDFLAGS += $(foreach i, $(PREPEND_LIB), -L$(i)) CFLAGS += $(foreach i, $(PREPEND_INCLUDES), -I$(i)) +ifeq ($(XEN_TOOLS_RPATH),y) +LDFLAGS += -Wl,-rpath,$(LIBDIR) +endif APPEND_LDFLAGS += $(foreach i, $(APPEND_LIB), -L$(i)) APPEND_CFLAGS += $(foreach i, $(APPEND_INCLUDES), -I$(i)) diff --git a/config/Tools.mk.in b/config/Tools.mk.in index a69b8466ab..7183c32679 100644 --- a/config/Tools.mk.in +++ b/config/Tools.mk.in @@ -45,6 +45,7 @@ PTYFUNCS_LIBS := @PTYFUNCS_LIBS@ LIBNL3_LIBS := @LIBNL3_LIBS@ LIBNL3_CFLAGS := @LIBNL3_CFLAGS@ +XEN_TOOLS_RPATH := @rpath@ # Download GIT repositories via HTTP or GIT's own protocol? # GIT's protocol is faster and more robust, when it works at all (firewalls diff --git a/tools/Makefile b/tools/Makefile index b4a26c4d5b..452510ab6d 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -118,6 +118,14 @@ IOEMU_CONFIGURE_CROSS ?= --cross-prefix=$(CROSS_COMPILE) \ --interp-prefix=$(CROSS_SYS_ROOT) endif +ifeq ($(XEN_TOOLS_RPATH),y) +QEMU_UPSTREAM_RPATH := -Wl,-rpath,$(LIBEXEC_LIB):$(LIBDIR) +IOEMU_EXTRA_LDFLAGS := --extra-ldflags="-Wl,-rpath,$(LIBDIR)" +else +QEMU_UPSTREAM_RPATH := -Wl,-rpath,$(LIBEXEC_LIB) +IOEMU_EXTRA_LDFLAGS := +endif + QEMU_ROOT := $(shell if [ -d "$(QEMU_TRADITIONAL_LOC)" ]; then echo "$(QEMU_TRADITIONAL_LOC)"; else echo .; fi) ifneq ($(QEMU_ROOT),.) export QEMU_ROOT @@ -153,7 +161,10 @@ subdir-all-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find set -e; \ $(buildmakevars2shellvars); \ cd qemu-xen-traditional-dir; \ - $(QEMU_ROOT)/xen-setup --cpu=$(IOEMU_CPU_ARCH) $(IOEMU_CONFIGURE_CROSS); \ + $(QEMU_ROOT)/xen-setup \ + $(IOEMU_EXTRA_LDFLAGS) \ + --cpu=$(IOEMU_CPU_ARCH) \ + $(IOEMU_CONFIGURE_CROSS); \ $(MAKE) all subdir-install-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find @@ -162,6 +173,7 @@ subdir-install-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find cd qemu-xen-traditional-dir; \ $(QEMU_ROOT)/xen-setup \ --extra-cflags="$(EXTRA_CFLAGS_QEMU_TRADITIONAL)" \ + $(IOEMU_EXTRA_LDFLAGS) \ --cpu=$(IOEMU_CPU_ARCH) \ $(IOEMU_CONFIGURE_CROSS); \ $(MAKE) install @@ -206,7 +218,7 @@ subdir-all-qemu-xen-dir: qemu-xen-dir-find $(EXTRA_CFLAGS_QEMU_XEN)" \ --extra-ldflags="-L$(XEN_ROOT)/tools/libxc \ -L$(XEN_ROOT)/tools/xenstore \ - -Wl,-rpath=$(PREFIX)/lib/xen/lib" \ + $(QEMU_UPSTREAM_RPATH)" \ --bindir=$(LIBEXEC_BIN) \ --datadir=$(SHAREDIR)/qemu-xen \ --localstatedir=$(localstatedir) \ diff --git a/tools/configure b/tools/configure index 2750985a35..8ce29aab71 100755 --- a/tools/configure +++ b/tools/configure @@ -707,6 +707,7 @@ xsmpolicy ocamltools monitors githttp +rpath XEN_PAGING_DIR XEN_LOCK_DIR XEN_SCRIPT_DIR @@ -779,6 +780,7 @@ ac_user_opts=' enable_option_checking enable_largefile with_initddir +enable_rpath enable_githttp enable_monitors enable_ocamltools @@ -1446,6 +1448,8 @@ Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-largefile omit support for large files + --enable-rpath Build tools with -Wl,-rpath,LIBDIR (default is + DISABLED) --enable-githttp Download GIT repositories via HTTP (default is DISABLED) --disable-monitors Disable xenstat and xentop monitoring tools (default @@ -3790,6 +3794,29 @@ XEN_PAGING_DIR=$localstatedir/lib/xen/xenpaging # Enable/disable options +# Check whether --enable-rpath was given. +if test "${enable_rpath+set}" = set; then : + enableval=$enable_rpath; +fi + + +if test "x$enable_rpath" = "xno"; then : + + ax_cv_rpath="n" + +elif test "x$enable_rpath" = "xyes"; then : + + ax_cv_rpath="y" + +elif test -z $ax_cv_rpath; then : + + ax_cv_rpath="n" + +fi +rpath=$ax_cv_rpath + + + # Check whether --enable-githttp was given. if test "${enable_githttp+set}" = set; then : enableval=$enable_githttp; diff --git a/tools/configure.ac b/tools/configure.ac index 788ba72a62..b9a1f6e1c4 100644 --- a/tools/configure.ac +++ b/tools/configure.ac @@ -80,6 +80,7 @@ m4_include([../m4/systemd.m4]) AX_XEN_EXPAND_CONFIG() # Enable/disable options +AX_ARG_DEFAULT_DISABLE([rpath], [Build tools with -Wl,-rpath,LIBDIR]) AX_ARG_DEFAULT_DISABLE([githttp], [Download GIT repositories via HTTP]) AX_ARG_DEFAULT_ENABLE([monitors], [Disable xenstat and xentop monitoring tools]) AX_ARG_DEFAULT_ENABLE([ocamltools], [Disable Ocaml tools])